package cn.cyh.queue_service.mq.event;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * 窗口状态事件消息
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WindowStatusEvent implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 事件类型
     */
    private String eventType = "WINDOW_STATUS";
    
    /**
     * 窗口ID
     */
    private Long windowId;
    
    /**
     * 窗口号
     */
    private String windowNumber;
    
    /**
     * 窗口名称
     */
    private String windowName;
    
    /**
     * 状态（OPEN、PAUSE、CLOSE）
     */
    private String status;
    
    /**
     * 业务员ID
     */
    private Long staffId;
    
    /**
     * 业务员姓名
     */
    private String staffName;
    
    /**
     * 业务类型ID
     */
    private Long serviceTypeId;
    
    /**
     * 业务类型名称
     */
    private String serviceTypeName;
    
    /**
     * 业务区域ID
     */
    private String areaId;
    
    /**
     * 业务区域名称
     */
    private String areaName;
    
    /**
     * 当前票号
     */
    private String currentTicket;
    
    /**
     * 时间戳
     */
    private Long timestamp;
    
    /**
     * 已服务数量
     */
    private Integer servedCount;
    
    /**
     * 等待数量
     */
    private Integer waitingCount;
} 